"""
    laplacian算子
        cv.Laplacian(src, ddepth, dit, ksize, scale, delta, borderType)
            参数：
                src：需要处理的图像，
                ddepth:图像的深度，-1表示采用的是原图像相同的深度，目标图像的深度必须大于等于原图像的深度，
                ksize:算子的大小，即卷积核的大小，必须是1，3，5，7
"""
import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt

# 1. 读取图像
img = cv.imread("image/horse.jpg", 0)

# 2. laplacian转换
result = cv.Laplacian(img, cv.CV_16S)
Scale_abs = cv.convertScaleAbs(result)

# 3. 图像显示
plt.figure(figsize=(10, 8), dpi=100)
plt.subplot(121), plt.imshow(img, cmap=plt.cm.gray), plt.title("原图")
plt.xticks([]), plt.yticks([])
plt.subplot(122), plt.imshow(Scale_abs, cmap=plt.cm.gray), plt.title("laplacian检测后结果")
plt.xticks([]), plt.yticks([])
plt.show()

